const mysql = require('../db/mysql57');

const config = require('../config');

// 检查是否存在主卡密用户
async function checkRootUser() {
    try {
        // 查询主卡密用户是否存在于本系统
        let sql = `select * from User where card = ? LIMIT 1`;
        let data = [ config.key ];
        let result = await mysql.sqlExec(sql, data);
        // 此时直接从查询结果的长度判断是否存在主卡密用户
        if (result.length) {
            console.log('已存在主卡密用户');
        } else {
            // 开始创建主卡密用户
            console.log('开始创建主卡密用户');
            let sql = `insert into User (card, name, userTypeId, url, maxCount) values (?, ?, (
                    select id from UserType where name = ?
                ), ?, ?)`;
            let data = [ config.key, 'root', '主卡密用户', '/', -1 ];
            let result = await mysql.sqlExec(sql, data);
            // 数据库创建成功都会有一个插入ID
            if (result.insertId) {
                console.log('主卡密用户创建成功');
            } else {
                console.log('主卡密用户创建失败');
                process.exit(1);
            }
        }
    } catch (err) {
        // 抛出异常之后程序直接终止
        console.error(err);
        process.exit(1);
    }
}

module.exports = { checkRootUser };